package game 
{
	import game.Main;
	import game.juego.cJuego;
	import game.jugadores.cJugador;
		/**
	 * ...
	 * @author miquel
	 */
	public class CPredicates 
	{
		static private var params:Array = null;
		
		
		public function CPredicates() 
		{
		}
		
		public static function SetJugadoresCasillaInicial(element:*, index:int, arr:Array):void 
		{
//            return (element is Number);
			if (element is cJugador)
			{
				cJugador(element).SetCasillaActual(0);
				if (cJuego.DEBUG_PREPARACION_JUEGO)
					trace("cJuego.as::PosicionaJugadoresEnSalida::" + arr[index].GetName() + " en casilla nº " + arr[index].GetCasillaActual());
			}
		}

		public static function SetJugadoresDineroInicial(element:*, index:int, arr:Array):void 
		{
			//param[0]	
			if (element is uint)
			{
				//el primer elemento 'Cantidad Inicial' lo guarda en params
				params = new Array( ) ;
				params.push( element );
				if (cJuego.DEBUG_PREPARACION_JUEGO)
				{
					trace("element is uint: " + params + " array " + arr);
				}
			}
			
			
			if (element is cJugador)
			{
				var l_uiCantidadInicial:uint = params[0];
				cJugador(element).AddDinero(l_uiCantidadInicial); 
				if (cJuego.DEBUG_PREPARACION_JUEGO)
				{
					trace("cJuego.as::SetJugadoresDineroInicial:" + cJugador(arr[index]).GetName() + ":" + cJugador(arr[index]).GetDinero());
				}
			}
			
			//todo el array recorrido
			if (arr.length == (index + 1))
			{
				//elimina la cantidad
				arr.shift();
				//elimina el vector params con la cantidad de dinero inicial
				params.pop();	
				params = null;
			}
		}

		public static function SetJugadoresCasillasSinPropietario(element:*, index:int, arr:Array):void
		{
			cJugador(element).GetListaPropiedades().splice();
		}		
	}

}